#ifndef STDAFX_H_590a2206_2614_430c_90a2_7e92a9bc3ddf
#define STDAFX_H_590a2206_2614_430c_90a2_7e92a9bc3ddf

/**
  @file stdafx.h Precompiled header file.
  SDL, OpenGL and OpenAL headers should not be included here.
  */

#define GL_GLEXT_PROTOTYPES

#include "types.hpp"

#include <string>
#include <vector>
#include <list>
#include <set>
#include <map>
#include <memory>

#include <assert.h>

/**
 * @brief The DebugStream class
 * prints messages in Debug configuration.
 * prints nothing in Release configuration.
 */
class MyDebugStream
{
public:
    MyDebugStream &operator<<(char value);
    MyDebugStream &operator<<(const char* value);
    MyDebugStream &operator<<(const std::string &value);
    MyDebugStream &operator<<(int value);
    MyDebugStream &operator<<(unsigned value);
    MyDebugStream &operator<<(long long int value);
    MyDebugStream &operator<<(long long unsigned value);
    MyDebugStream &operator<<(float value);
    MyDebugStream &operator<<(double value);
    MyDebugStream &operator<<(bool value);
};

MyDebugStream &myDebug();

#endif // STDAFX_H_590a2206_2614_430c_90a2_7e92a9bc3ddf
